using Headspring.Training.Core.Model;
using Headspring.Training.Core.Model.StateCommands;
using NUnit.Framework;

namespace Headspring.Training.UnitTests.Model.StateCommands
{
	public abstract class StateCommandBaseTester
	{
		protected abstract StateCommandBase GetStateCommand(WorkOrder order,
		                                                    Employee employee);

		protected virtual int GetExpectedNumberofAuditEntries()
		{
			return 1;
		}

		[Test]
		public void ShouldMatchBasedOnVerb()
		{
			StateCommandBase command = GetStateCommand(null, null);
			bool matches = command.Matches(command.TransitionVerbPresentTense);

			Assert.That(matches);
		}
	}
}